# Mathematical Proofs
A useful technique to know as a programmer, as for example using [[Type systems]] is not only isomorphic to [[Logic Proofs]] because of the [[Curry-Howard Isomorphism]], but in practice is also proving things about the behaviour and composability of your program.
## Books
- [[BOOK - How to Prove It - Daniel J Velleman]]
- [[BOOK - How to Solve It - G Polya John H Conway]]
### Computer proofs
- [[BOOK - The Little Prover - Daniel P Friedman Carl Eastlund]]
- [[BOOK - Certified Programming with Dependent Types - Adam Chlipala]]
### To read
Recommend pedagogical book about proofs (from [Ask HN: How to learn mathematical proofs from scratch? | Hacker News](https://news.ycombinator.com/item?id=31800081)
):
- [Analysis I: Third Edition (Texts and Readings in Mathematics): Tao, Terence: 9789380250649: Books](https://www.amazon.com/Analysis-Third-Texts-Readings-Mathematics/dp/9380250649)
- [Solving Mathematical Problems: A Personal Perspective: Tao, Terence: 9780199205608: Books: Amazon.com](https://www.amazon.com/Solving-Mathematical-Problems-Personal-Perspective/dp/0199205604/ref=pd_lpo_3?pd_rd_i=0199205604&psc=1)